package homework;

import java.util.Arrays;

public class Day06 {
    public static void main(String[] args) {
        maxOfArray();

        say();
        sayHi("法外狂徒张三");
        sayHello("lisi",5);

        double num = getNum();
        System.out.println("getNum返回的结果："+num);

        int result1 = plus(10,20);
        System.out.println("plus方法返回结果："+result1);
        int n=10,m=20;
        int result2 = plus(n,m);
        System.out.println("plus方法返回结果："+result2);

        int[] arr = testArray(18,77);
        System.out.println("arr数组的长度："+arr.length);
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
        System.out.println();
    }

    /**
     * MaxOfArray求数组元素最大值并放在最后一个元素的下一个位置
     *
     *    要求：声明整型数组并填充随机数据，找到最大值，将数组扩容并将最大值放末尾
     */
    public static void maxOfArray(){
        int[] arr = new int[10];
        for(int i=0;i<arr.length;i++){
            arr[i] = (int)(Math.random()*100);
        }
        System.out.println(Arrays.toString(arr));

        int max = arr[0];
        for(int i=1;i<arr.length;i++){
            if(arr[i]>max){
                max = arr[i];
            }
        }
        System.out.println("arr数组最大值："+max);

        arr = Arrays.copyOf(arr,arr.length+1);
        arr[arr.length-1] = max;
        System.out.println(Arrays.toString(arr));

    }

    /**
     * 方法的练习：
     *
     *    要求：
     *
     *    - 定义say()无参无返回值方法，调用测试
     *    - 定义sayHi()有一个参无返回值方法，调用测试
     *    - 定义sayHello()有两个参无返回值的方法，调用测试
     *    - 定义getNum()无参有返回值方法，演示return的用法，调用测试
     *    - 定义plus()两个参有返回值方法，调用测试
     *    - 定义testArray()用于生成整型数组填充随机数并返回数组，调用测试
     */

    public static void say(){
        System.out.println("say()方法调用");
    }

    public static void sayHi(String name){
        System.out.println(name+"调用sayHi()方法");
    }

    public static void sayHello(String name,int num){
        System.out.println(name+"进行了"+num+"次调用sayHello()方法");
    }

    public static double getNum(){
        double num = Math.random()*10;
        return num;
    }

    public static int plus(int num1,int num2){
        int num = num1 + num2;
        return num;
    }

    /**
     *
     * @param length 数组长度
     * @param max 随机数的最大值，选取范围0~max
     * @return
     */
    public static int[] testArray(int length,int max){
        int[] arr = new int[length];
        for(int i=0;i<arr.length;i++){
            arr[i] = (int)(Math.random()*(max+1));
        }
        return arr;
    }



}
